package de.gaalop.tba.cfgImport.optimization; import de.gaalop.cfg.ControlFlowGraph; import de.gaalop.dfg.Variable; import de.gaalop.tba.cfgImport.VariablesCollector; import java.util.LinkedList; /** * This class provide a method for updating the LocalVariable-set in a graph * @author Christian Steinmetz */ public class UpdateLocalVariableSet { /** * Updates the LocalVariable-set in a graph * @param graph The graph */ public static void updateVariableSets(ControlFlowGraph graph) { VariablesCollector collector = new VariablesCollector(); graph.accept(collector); LinkedList<Variable> vars = new LinkedList<Variable>(graph.getLocalVariables()); for (Variable v: vars) if (!collector.getVariables().contains(v.getName())) graph.removeLocalVariable(v); } }